package com.example.learn.hwod.背包代码;

public class 完全背包 {
    public static void main(String[] args) {
        int[] weights = {2, 3, 4, 5}; // 物品的重量
        int[] values = {3, 4, 5, 6};  // 物品的价值
        int capacity = 5;             // 背包容量
        int n = weights.length;       // 物品数量

        System.out.println(-13/2);
        // dp[j] 表示容量为 j 的背包能获取的最大价值
        int[] dp = new int[capacity + 1];

        // 填充 dp 数组
        for (int i = 0; i < n; i++) { // 遍历所有物品
            for (int j = weights[i]; j <= capacity; j++) { // 遍历背包容量
                dp[j] = Math.max(dp[j], dp[j - weights[i]] + values[i]);
            }
        }

        // 输出最大值
        System.out.println("最大值为：" + dp[capacity]);
    }
}
